Hallo Forum,

hier ist ein MSP430-Programm, das vorher festgelegte Morsezeichen ber einen Beeper ausgibt.
Der Focus lag auf kleiner Codegre und stromsparendem Betrieb.

Der verwendete Beeper ist ein einfaches Teil, das zur Tonerzeugung einen Ein-Ausschaltzyklus mit der Tonfrequenz erwartet.
Das wird durch Timer-Interrupts im 1ms-Rhytmus realsiert. Die Tonhhe ist also 1kHz.
Zum Stromsparen schlft der Prozessor whrend der _delay_ms-Routinen.

Der hier verwendete Beeper (KSS-1201) zieht laut Datenblatt bei 3,6V 35mA Strom, und ist damit mehr als laut.
Dieser Strom ist jedoch weit hher, als die im MSP430-Datenblatt angegebene Dauer-Belastung von 6mA.
Ein Vorwiderstand von 680Ohm begrenzt die Lautstrke auf ganz leise Werte. Mit 390 Ohm ist es laut genug.

Die Funktion vMorseBeeper() setzt codierte 32Bit-Worte (unsigned long int) in Morsezeichen um.
Je zwei Bits geben Auskunft ber die Lnge des Elements (0=kurz, 1=lang) und die Lnge der Pause zum nchsten Element
(0 innerhalb eines Zeichens und 1 zwischen zwei Zeichen). LSB first.
Mit dem 32Bit-Wort ist die Lnge je Aufruf der MSP430-Funktion auf 16 Elemente begrenzt.
Fr lngere Worte lassen sich mehrere Aufrufe der Funktion vMorseBeeper() kaskadieren.
Damit lsst sich die Aufgabe speicherplatzsparend darstellen.

Aber es ist ein mhsames Geschft, Texte in diese 32-Bit Worte umzuwandeln.
Das C-Programm "MSP430_Morse.EXE" bietet hier Hilfestellung. (siehe Anhang)
Das Programm erwartet Worteingaben, die in Programmcode fr die CW-Ausgabe umgesetzt werden.
Natrlich luft das nicht auf dem MSP sondern auf einem PC. 
Die Software wurde erstellt mit dem freien WATCOM-Compliler.

vy 73 de Matthias, DL9MWE
